<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>命名捕获分组</title>
</head>
<body>
  <script>
    // ES5中
    let str='<a href="http://www.baidu.com">百度</a>'
    const reg=/<a href="(.*)">(.*)<\/a>/
    // exec() 方法用于检索字符串中的正则表达式的匹配,并以数组形式返回匹配到的值
    const res=reg.exec(str)
    console.log(res);
    console.log(res[0]);
    console.log(res[1]);
    console.log(res[2]);

    // ES9命名捕获
    let str1='<a href="http://www.baidu.com">百度</a>'
    // 在正则中子正则中用?<命名>
    const reg1=/<a href="(?<url>.*)">(?<text>.*)<\/a>/
    // exec方法会将命名匹配到的值以键值对形式存储在groups对象中
    const res1=reg1.exec(str1)
    console.log(res1);
    console.log(res1.groups);
  </script>
</body>
</html>